package com.mzx.javase.annotation;

import com.mzx.javase.enum_test.Season;

/**
 *什么是注解：注解，和接口，类，枚举属于同一级别，注解也叫元数据，一种代码级别的说明。
 * 它可以声明在包、类、字段、方法、局部变量、方法参数等前面，用来对这些元素进行说明，注释、
 *
 * 注解使用: @注解名称
 *
 */

public @interface MyAnno {
    //属性列表

    /**
     * 属性返回值类型只能取以下值
     * 字符串String
     * int类型
     * 枚举
     * 注解
     * 以上四种，以以及以上四种类型的数组
     *
     * 在定义属性时，还可以给属性复制，使用关键字default进行默认赋值 ；
     * 数组赋值时，值使用{}包括住，如果数组中只有一个值，则可以省略{}
     * 在使用注解时，如果注解中只定义了一个属性，则这个属性名称可以省略，直接赋值
     */
    int[] value(); //value属性非常特殊，当只有一个属性的时候，使用可以省略
    String name();
    Season SEASON() default Season.SPRING;



}
